Single-speaker dependent speech recognisers are known, for example for connection to a telephone, in which the user "trains" the recogniser with his or her voice patterns. These patterns are stored as "templates" in Random Access Memory (RAM) within the speech recogniser. When a user wishes to make a phone call, he activates the recogniser, for example by lifting the receiver, and the recogniser uses his templates to interpret voiced instructions, for example of the telephone number the user wishes to dial. When other users wish to use the speech recogniser, they have to go through the training procedure, and when this happens the original user's templates are deleted. Therefore, if the original user needs to use the speech recogniser again, he must retrain the recogniser first.
In multi-user environments, for example a Private Automatic Branch Exchange (PABX), one recogniser could be provided to serve all the extensions connected to the PABX. However, in this case, the user at every extension would probably have to go through the tedium of training the recogniser every time he wished to make a call.
An alternative arrangement would be to provide a speech recogniser at each extension, so that each will be trained only by that extension's user. However, such an arrangement would be prohibitively expensive.
A better alternative is to provide a few recognisers, connected to the PABX and shared between the many users. In such a system, a common database is provided containing the templates of all the users. When any particular user activates his extension, one of the quiescent recognisers is arbitrarily selected and assigned to his use, and his templates are then loaded into that recogniser. A micro-processor is provided to control the loading of the templates. The rate at which templates are loaded into the recognisers depends upon the speed of the micro-processor, and the more recognisers wanting access to the database there are, the more complex the micro-processor is required to be. Every recogniser is assigned a priority, and the micro-processor deals with requests for service in strict priority order; so if a lower priority recogniser has access and is loading templates, and a higher priority recogniser requests access, service to the lower device is suspended while the higher device is served. Only when the higher priority device has finished is the lower priority device allowed to continue. This type of interruption may continually occur, so that a low priority device may be delayed while several higher priority devices are served, and the overall system suffers from the disadvantage of not being totally user transparent.